using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("SoundDucker")]
	public class SoundDucker : MonoBehaviour
	{
		public bool m_DuckAllCategories => method_2<bool>("m_DuckAllCategories");

		public SoundDuckedCategoryDef m_GlobalDuckDef => method_3<SoundDuckedCategoryDef>("m_GlobalDuckDef");

		public List<SoundDuckedCategoryDef> m_DuckedCategoryDefs => method_3<Class271<SoundDuckedCategoryDef>>("m_DuckedCategoryDefs")?.method_25();

		public bool m_ducking => method_2<bool>("m_ducking");

		public SoundDucker(IntPtr address, string className)
			: base(address, className)
		{
		}

		public SoundDucker(IntPtr address)
			: this(address, "SoundDucker")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public new string ToString()
		{
			return method_13("ToString");
		}

		public List<SoundDuckedCategoryDef> GetDuckedCategoryDefs()
		{
			return method_14<Class271<SoundDuckedCategoryDef>>("GetDuckedCategoryDefs", Array.Empty<object>())?.method_25();
		}

		public bool IsDucking()
		{
			return method_11<bool>("IsDucking", Array.Empty<object>());
		}

		public void StartDucking()
		{
			method_8("StartDucking");
		}

		public void StopDucking()
		{
			method_8("StopDucking");
		}

		public void InitDuckedCategoryDefs()
		{
			method_8("InitDuckedCategoryDefs");
		}
	}
}
